<?php
namespace ImiApp\Module\Member\Service\Base;

use Imi\Model\Model;
use Imi\Model\Annotation\DDL;
use Imi\Model\Annotation\Table;
use Imi\Model\Annotation\Column;
use Imi\Model\Annotation\Entity;

/**
 * 机构账号管理 基类
 * @Entity
 * @Table(name="sc_jigou", id={"id"})
 * @DDL("CREATE TABLE `sc_jigou` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `jigou_name` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '机构名称',
  `admin_id` int(10) unsigned DEFAULT NULL COMMENT 'admin',
  `adv_images` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '宣传图',
  `logo_image` char(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Logo',
  `addr` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '地址',
  `email` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '邮箱',
  `mobile` varchar(15) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '手机号',
  `loginip` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '登录IP',
  `createtime` int(10) DEFAULT NULL COMMENT '创建时间',
  `updatetime` int(10) DEFAULT NULL COMMENT '更新时间',
  `end_time` int(10) unsigned DEFAULT NULL COMMENT '到期时间',
  `siteswitch` tinyint(4) DEFAULT '1' COMMENT '状态:0=冻结,1=正常',
  `pid` int(10) unsigned DEFAULT NULL COMMENT '老板账号',
  `class_type_id` int(3) unsigned DEFAULT NULL COMMENT '类型',
  `free_status` enum('1','0') COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '先免费学:0=不免费,1=可先学',
  `description` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '简介',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=COMPACT COMMENT='机构账号管理'")
 * @property int $id ID
 * @property string $jigouName 机构名称
 * @property int $adminId admin
 * @property string $advImages 宣传图
 * @property string $logoImage Logo
 * @property string $addr 地址
 * @property string $email 邮箱
 * @property string $mobile 手机号
 * @property string $loginip 登录IP
 * @property int $createtime 创建时间
 * @property int $updatetime 更新时间
 * @property int $endTime 到期时间
 * @property int $siteswitch 状态:0=冻结,1=正常
 * @property int $pid 老板账号
 * @property int $classTypeId 类型
 * @property string $freeStatus 先免费学:0=不免费,1=可先学
 * @property string $description 简介
 */
abstract class ScJigouBase extends Model
{
    /**
     * ID
     * id
     * @Column(name="id", type="int", length=10, accuracy=0, nullable=false, default="", isPrimaryKey=true, primaryKeyIndex=0, isAutoIncrement=true)
     * @var int
     */
    protected $id;

    /**
     * 获取 id - ID
     *
     * @return int
     */ 
    public function getId()
    {
        return $this->id;
    }

    /**
     * 赋值 id - ID
     * @param int $id id
     * @return static
     */ 
    public function setId($id)
    {
        $this->id = $id;
        return $this;
    }

    /**
     * 机构名称
     * jigou_name
     * @Column(name="jigou_name", type="varchar", length=30, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $jigouName;

    /**
     * 获取 jigouName - 机构名称
     *
     * @return string
     */ 
    public function getJigouName()
    {
        return $this->jigouName;
    }

    /**
     * 赋值 jigouName - 机构名称
     * @param string $jigouName jigou_name
     * @return static
     */ 
    public function setJigouName($jigouName)
    {
        $this->jigouName = $jigouName;
        return $this;
    }

    /**
     * admin
     * admin_id
     * @Column(name="admin_id", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $adminId;

    /**
     * 获取 adminId - admin
     *
     * @return int
     */ 
    public function getAdminId()
    {
        return $this->adminId;
    }

    /**
     * 赋值 adminId - admin
     * @param int $adminId admin_id
     * @return static
     */ 
    public function setAdminId($adminId)
    {
        $this->adminId = $adminId;
        return $this;
    }

    /**
     * 宣传图
     * adv_images
     * @Column(name="adv_images", type="varchar", length=1000, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $advImages;

    /**
     * 获取 advImages - 宣传图
     *
     * @return string
     */ 
    public function getAdvImages()
    {
        return $this->advImages;
    }

    /**
     * 赋值 advImages - 宣传图
     * @param string $advImages adv_images
     * @return static
     */ 
    public function setAdvImages($advImages)
    {
        $this->advImages = $advImages;
        return $this;
    }

    /**
     * Logo
     * logo_image
     * @Column(name="logo_image", type="char", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $logoImage;

    /**
     * 获取 logoImage - Logo
     *
     * @return string
     */ 
    public function getLogoImage()
    {
        return $this->logoImage;
    }

    /**
     * 赋值 logoImage - Logo
     * @param string $logoImage logo_image
     * @return static
     */ 
    public function setLogoImage($logoImage)
    {
        $this->logoImage = $logoImage;
        return $this;
    }

    /**
     * 地址
     * addr
     * @Column(name="addr", type="varchar", length=100, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $addr;

    /**
     * 获取 addr - 地址
     *
     * @return string
     */ 
    public function getAddr()
    {
        return $this->addr;
    }

    /**
     * 赋值 addr - 地址
     * @param string $addr addr
     * @return static
     */ 
    public function setAddr($addr)
    {
        $this->addr = $addr;
        return $this;
    }

    /**
     * 邮箱
     * email
     * @Column(name="email", type="varchar", length=30, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $email;

    /**
     * 获取 email - 邮箱
     *
     * @return string
     */ 
    public function getEmail()
    {
        return $this->email;
    }

    /**
     * 赋值 email - 邮箱
     * @param string $email email
     * @return static
     */ 
    public function setEmail($email)
    {
        $this->email = $email;
        return $this;
    }

    /**
     * 手机号
     * mobile
     * @Column(name="mobile", type="varchar", length=15, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $mobile;

    /**
     * 获取 mobile - 手机号
     *
     * @return string
     */ 
    public function getMobile()
    {
        return $this->mobile;
    }

    /**
     * 赋值 mobile - 手机号
     * @param string $mobile mobile
     * @return static
     */ 
    public function setMobile($mobile)
    {
        $this->mobile = $mobile;
        return $this;
    }

    /**
     * 登录IP
     * loginip
     * @Column(name="loginip", type="varchar", length=50, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $loginip;

    /**
     * 获取 loginip - 登录IP
     *
     * @return string
     */ 
    public function getLoginip()
    {
        return $this->loginip;
    }

    /**
     * 赋值 loginip - 登录IP
     * @param string $loginip loginip
     * @return static
     */ 
    public function setLoginip($loginip)
    {
        $this->loginip = $loginip;
        return $this;
    }

    /**
     * 创建时间
     * createtime
     * @Column(name="createtime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $createtime;

    /**
     * 获取 createtime - 创建时间
     *
     * @return int
     */ 
    public function getCreatetime()
    {
        return $this->createtime;
    }

    /**
     * 赋值 createtime - 创建时间
     * @param int $createtime createtime
     * @return static
     */ 
    public function setCreatetime($createtime)
    {
        $this->createtime = $createtime;
        return $this;
    }

    /**
     * 更新时间
     * updatetime
     * @Column(name="updatetime", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $updatetime;

    /**
     * 获取 updatetime - 更新时间
     *
     * @return int
     */ 
    public function getUpdatetime()
    {
        return $this->updatetime;
    }

    /**
     * 赋值 updatetime - 更新时间
     * @param int $updatetime updatetime
     * @return static
     */ 
    public function setUpdatetime($updatetime)
    {
        $this->updatetime = $updatetime;
        return $this;
    }

    /**
     * 到期时间
     * end_time
     * @Column(name="end_time", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $endTime;

    /**
     * 获取 endTime - 到期时间
     *
     * @return int
     */ 
    public function getEndTime()
    {
        return $this->endTime;
    }

    /**
     * 赋值 endTime - 到期时间
     * @param int $endTime end_time
     * @return static
     */ 
    public function setEndTime($endTime)
    {
        $this->endTime = $endTime;
        return $this;
    }

    /**
     * 状态:0=冻结,1=正常
     * siteswitch
     * @Column(name="siteswitch", type="tinyint", length=4, accuracy=0, nullable=true, default="1", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $siteswitch;

    /**
     * 获取 siteswitch - 状态:0=冻结,1=正常
     *
     * @return int
     */ 
    public function getSiteswitch()
    {
        return $this->siteswitch;
    }

    /**
     * 赋值 siteswitch - 状态:0=冻结,1=正常
     * @param int $siteswitch siteswitch
     * @return static
     */ 
    public function setSiteswitch($siteswitch)
    {
        $this->siteswitch = $siteswitch;
        return $this;
    }

    /**
     * 老板账号
     * pid
     * @Column(name="pid", type="int", length=10, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $pid;

    /**
     * 获取 pid - 老板账号
     *
     * @return int
     */ 
    public function getPid()
    {
        return $this->pid;
    }

    /**
     * 赋值 pid - 老板账号
     * @param int $pid pid
     * @return static
     */ 
    public function setPid($pid)
    {
        $this->pid = $pid;
        return $this;
    }

    /**
     * 类型
     * class_type_id
     * @Column(name="class_type_id", type="int", length=3, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var int
     */
    protected $classTypeId;

    /**
     * 获取 classTypeId - 类型
     *
     * @return int
     */ 
    public function getClassTypeId()
    {
        return $this->classTypeId;
    }

    /**
     * 赋值 classTypeId - 类型
     * @param int $classTypeId class_type_id
     * @return static
     */ 
    public function setClassTypeId($classTypeId)
    {
        $this->classTypeId = $classTypeId;
        return $this;
    }

    /**
     * 先免费学:0=不免费,1=可先学
     * free_status
     * @Column(name="free_status", type="enum", length=0, accuracy=0, nullable=true, default="0", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $freeStatus;

    /**
     * 获取 freeStatus - 先免费学:0=不免费,1=可先学
     *
     * @return string
     */ 
    public function getFreeStatus()
    {
        return $this->freeStatus;
    }

    /**
     * 赋值 freeStatus - 先免费学:0=不免费,1=可先学
     * @param string $freeStatus free_status
     * @return static
     */ 
    public function setFreeStatus($freeStatus)
    {
        $this->freeStatus = $freeStatus;
        return $this;
    }

    /**
     * 简介
     * description
     * @Column(name="description", type="varchar", length=255, accuracy=0, nullable=true, default="", isPrimaryKey=false, primaryKeyIndex=-1, isAutoIncrement=false)
     * @var string
     */
    protected $description;

    /**
     * 获取 description - 简介
     *
     * @return string
     */ 
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * 赋值 description - 简介
     * @param string $description description
     * @return static
     */ 
    public function setDescription($description)
    {
        $this->description = $description;
        return $this;
    }

}
